package cn.touna.jss.modules.adapter;

import cn.touna.jss.common.enums.IntfScopeEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * api映射注解
 * Created by wuwc on 2017/12/1.
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiMapping {
    /**
     * 接口编码
     * @return
     */
    String value() default "";

    /**
     * 接口中文描述
     *
     * @return
     */
    String desc() default "";

    /**
     * 版本号
     * @return
     */
    String version() default "1.0";

    /**
     * 缓存开关
     * @return
     */
    boolean useCache() default true;

    /**
     * 调用历史开关
     * @return
     */
    boolean recordHistory() default true;

    /**
     * mock开关
     *
     * @return
     */
    String mock() default "N";

    /**
     * 接口域 0：测试;1：三方数据；2；内部系统数据;
     *
     * @return
     */
    IntfScopeEnum scope() default IntfScopeEnum.JSS_INTF_THIRD;

    /**
     * 是否是文件流
     * @return
     */
    boolean isFile() default false;

}
